System and method for creating integrated web form and database applications

ABSTRACT

A system and method for creating integrated web form and database applications. One or more embodiments of the invention enable a system and method for creating integrated web form and database applications. The system enables click-and-drag form creation and automatically codes the markup, validation script and database schema. The system does not require programming to create forms or a database schema to associate form data with. In addition, the system does not require programming for integrating forms and a database. By generating the schema to implement a form, a non-database programmer such as a designer can create web forms that store and display data to and from a database without programming any software. In this manner, designers can perform tasks that heretofore have required software engineers. 
     A system and method for creating integrated web form and database applications. One or more embodiments of the invention enable a system and method for creating integrated web form and database applications. The system enables click-and-drag form creation and automatically codes the markup, validation script and database schema. The system does not require programming to create forms or a database schema to associate form data with. In addition, the system does not require programming for integrating forms and a database. By generating the schema to implement a form, a non-database programmer such as a designer can create web forms that store and display data to and from a database without programming any software. In this manner, designers can perform tasks that heretofore have required software engineers.

BACKGROUND OF THE INVENTION

1. Field of the Invention

Embodiments of the invention described herein pertain to the field ofcomputer systems. More particularly, but not by way of limitation, oneor more embodiments of the invention enable a system and method forcreating integrated web form and database applications.

2. Description of the Related Art

Current solutions for creating web forms and databases generally makeuse of distinct applications and skill sets that do not allow for asingle worker to easily generate and maintain a web form and databaseapplication. Current generation form editors include WYSIWYG (What YouSee Is What You Get) form editors that allow for the creation of formsthrough the graphical placement of form elements such as text fields andcheck boxes. Generally, markup-based applications use HTML tables in theform generation process and do not use CSS for form element placement.Furthermore, there is no coupling of a generated HTML table form with arelational database. Current database generation interfaces allow forcomplex schema generation but do not generally allow a form designer toeasily create a database or maintain the database. Hence, althoughapplications exist in each area, there is no bridge between theapplication domains which leads to more effort, more required skill forgenerating an application and more cost.

An example scenario for a currently known system is as follows: Aweb-design client orders an online web form to collect visitorinformation from a website and organize the collected information into asearchable database. In this scenario at least one web designergenerates a form with a graphical form designer and saves the form asmarkup. Another worker, for example a database programmer, interfaceswith the web designer and generates a database that will store theinformation associated with the form. The web designer updates the formbased on input from the database programmer and ensures that the formstores and updates data from the form. If the desired visitorinformation set changes, then both the web designer and the databaseprogrammer are required to alter their respective work pieces and retestthe system. Updates to existing database records is the responsibilityof the database programmer or administrator. Any administrationinterface would likewise require changes by both the web designer andthe database programmer to account for the underlying schema changes.

One existing solution, “Database Professional” for example allows fordatabase creation. Another solution “Form Maker Pro” allows for formcreation. Neither of these solutions allow for total integrated form anddatabase creation and as such are standalone solutions that requireother software packages to implement the functionality that theythemselves are not equipped to create.

Other existing solutions such as “FormSite” and “FileMaker Pro” allowfor form generation based on an existing database. The problem withthese solutions lies in the fact that the schema is static for thesesolutions and the database is of a fixed type that the end user has nocontrol over. In the case of “FormSite” the database is stored on theirserver and there is no method of moving the database or using a databaseon any other server. In the case of “FileMaker Pro” the only databasesupported is FMP.

Yet other existing solutions “Logiforms” and “Quask” allow for formcreation and import of XML to a local database. These solutions requirelocal databases. As such a remote database may not be interfaced with.In the case of “Logiforms” local database utilization requires a permonth payment to keep the system operational. In the case of “Quask”,the database resides on the local personal computer.

For at least the limitations described above there is a need for asystem and method for creating integrated web form and databaseapplications.

BRIEF SUMMARY OF THE INVENTION

One or more embodiments of the invention enable a system and method forcreating integrated web form and database applications. The systemenables click-and-drag form creation and automatically codes markup,validation script and database schema corresponding to the form. Thesystem does not require a programming effort to create forms or adatabase schema to associate form data with. In addition, the systemdoes not require a programming effort for integrating forms and adatabase. By generating the schema to implement a form, a non-databaseprogrammer such as a designer can create web forms that store anddisplay data to and from a database without writing any software. Inthis manner, designers can perform tasks that heretofore have requiredsoftware engineers. In addition, generation of a web form may beaccomplished by integrating with an existing web page. In this manner,previously generated work is not wasted. The system may also includelogic and rules to determine the most appropriate location for a form ina given web page layout.

One or more embodiments of the invention utilize functional modules suchas a code generation module to automatically generate markup, script orprogram code. In one or more embodiments, the generated functionalityimplements a model-view-controller (MVC) design pattern. This designpattern delineates the responsibilities for particular modules intomodel (database), view (forms) and controller (the software thatintegrates the model with the controller). The system generates markup,script for the view and schema generation data definition language (DDL)commands for the model. In addition, the system also generatesintegration code that includes data manipulation language (DML) commandsand may include, for example, the generation of an administration modulefor performing searches.

The system creates the markup for a form, and markup for anadministration web page if desired, using a WYSIWYG form editor thatintegrates with a markup generator which creates markup as form elementsare dragged and moved onto a palette. Validation code generation isperformed at this time to limit values that are allowed in particularform elements. Validation may include multiple form elements, forexample, the value allowed in one form element may depend on the valuein another form element. In addition, the hiding or display ofparticular form elements is also achieved in a similar manner throughscript. In this way, selection of a particular value in a list, forexample, may change the form elements that are displayed in associationwith the selected list value.

In one or more embodiments of the invention, DDL is generated thatcouples with a freeware database such as MySQL. By supporting freewaredatabases, the system lowers the cost for creation of web pages thatimplement form based database interfaces. For advanced users, thegenerated DDL or DML may be modified to provide custom functionality oroptimization. This allows for expert users to fully optimize theirimplementations.

Embodiments of the invention also allow for the import of existing HTMLforms so that the code generation module of the system can createbackend database, HTML code and validation structures to support theform without requiring a time consuming and expensive programmingeffort. Furthermore, the database associated with the form can bevirtually anywhere. The system merely needs to access the database atthe given URI to obtain a connection.

The system supports generation of an administration module that allowsfor multi-field searches and maintenance of the database through a webbased interface. This allows for personnel that are not programmers ordatabase administrators to also perform tasks that are normally beyondtheir skill set. The administration system also enables reportgeneration. In addition, non-administrative users (NAUs) may access theadministrative module to search the database according to a restrictedpolicy that limits the fields and records that may be accessed. The NAUsmay access the administrative module at a URL that differs from the URLthat an administrator accesses, or conversely, the login information mayresult in the generation of different views for a NAU versus anadministrator. Any method of logging in may be performed byadministrators or NAUs. In addition, policies may be employed to limitthe reports that are accessible to both administrators and NAUs.

After generating a form and associated schema, the system publishes theform to the web and can install, for example, an administration moduleon a website. In addition, the SQL file representing the schema isuploaded to the server and executed to create the database. The form maybe saved and returned to later for completion using one or moreembodiments of the invention. The system may delete forms that areabandoned and may send reminders to users that given forms needed to becompleted. The system may store the forms on any computer associatedwith the system including a server or user associated computing device.Embodiments of the invention may upload any other file created inconcert with the SQL file, for example, a cascading style sheet (CSS)file.

In one or more embodiments, a wizard based generation method is utilizedfor viewing or editing a form, form markup/script code, schema,administration form and for publishing the form to a website. Use of awizard-based method may be bypassed by more advanced users in one ormore embodiments.

BRIEF DESCRIPTION OF THE DRAWINGS

The above and other aspects, features and advantages of the inventionwill be more apparent from the following more particular descriptionthereof, presented in conjunction with the following drawings wherein:

FIG. 1 is a system diagram of an embodiment of a system configured tocreate integrated web form and database applications.

FIG. 2 is a view of a form generation interface.

FIG. 3 is a view of a code generation or markup/script code interface.

FIG. 4 is a view of a schema interface.

FIG. 5 is a view of an administration interface.

FIG. 6 is a view of a form preview interface.

FIG. 7 is a view of a publish interface.

FIG. 8 is a flow chart of an embodiment of a method for creatingintegrated web form and database applications.

DETAILED DESCRIPTION

A system and method for creating integrated web form and databaseapplications will now be described. In the following exemplarydescription numerous specific details are set forth in order to providea more thorough understanding of embodiments of the invention. It willbe apparent, however, to an artisan of ordinary skill that the presentinvention may be practiced without incorporating all aspects of thespecific details described herein. In other instances, specificfeatures, quantities, or measurements well known to those of ordinaryskill in the art have not been described in detail so as not to obscurethe invention. Readers should note that although examples of theinvention are set forth herein, the claims, and the full scope of anyequivalents, are what define the metes and bounds of the invention.

FIG. 1 is a system diagram of an embodiment of a system configured tocreate integrated web form and database applications. The system makesuse of presentation device 100 and computer 101 in association withdatabase 102. Computer 101 may be a personal computer or serverdepending on the embodiment. Database 102 may be coupled with a serverdirectly or indirectly. In a multi-tier embodiment a web interface isutilized in presenting information via presentation device 100 via a webserver hosted on computer 101 while an application server hosts moduleson computer 101 or another server between computer 101 and database 102(not shown for brevity) while optionally database 102 is hosted on aseparate database server. Firewalls and virtual private networks or anyother security device may be utilized between any tier in any embodimentof the invention in keeping with the spirit of the invention.

The system enables click-and-drag form creation via form interface 120in conjunction with form module 150. The system automatically generatesmarkup and validation script using code generation module 151 anddisplays and allows for modification of the generated markup and scriptvia code generation interface 121. In addition, the system creates adatabase schema corresponding to the form using schema generation module152 and displays and allows for modification of the schema via schemageneration interface 122. The system does not require a programmingeffort to create forms or a database schema to associate form data with.Furthermore, the system does not require a programming effort forintegrating forms and a database. By generating the schema to implementa form, a non-database programmer such as a designer can create webforms that store and display data to and from database 102 withoutcreating any software. In this manner, designers can perform tasks thatheretofore have required software engineers.

One or more embodiments of the invention utilize functional modules150-154 such as a code generation module to automatically generatemarkup, script or program code. In one or more embodiments, thegenerated functionality implements a model-view-controller (MVC) designpattern. This design pattern delineates the responsibilities forparticular modules into model (database 102), view (for example a webpage displayed on any presentation device such as presentation device100) and controller (the software that accepts user inputs, updatesdatabase 102 and presentation device 100, namely a web component thatreceives the form inputs and stores the inputs into database 102). Thesystem generates markup, script for the view and schema generation datadefinition language (DDL) commands for the model as will be described inconjunction with the remaining figures. In addition, the system alsogenerates integration code that includes data manipulation language(DML) commands and may include, for example, the generation ofadministration module 154 for performing searches. Embodiments of theinvention may leverage existing web pages and existing RDBMS schemas toaugment existing work product. In this manner, an existing web page maybe utilized, for example, to create a form oriented CSS version of anexisting web page. Leveraging existing work product allows for web sitesthat are in need of database information to be enhanced withoutrequiring regeneration of web pages that have already been created.

FIG. 2 is a view of form generation interface 120 which in thisembodiment is a subcomponent of a tab based interface although this isnot required. The system presents form interface 120 via form module 150and creates markup for a form, and optionally markup for anadministration web page if desired, using a WYSIWYG form interface 120that integrates with HTML code generator module 151. Code generatormodule 151 creates markup as form elements are dragged and moved onto apalette of form interface 120 or when code is manually edited using codegeneration interface 121. For example, form label elements “First Name:”and “Last Name:” are dropped onto the grid shown in the form window inFIG. 2 which in one embodiment of the invention forwards the movementsand user actions from form module 150 to code generation module 151. Inone or more embodiments of the invention cascading style sheet markup isutilized to control the positioning of form elements that are to bedisplayed in a form.

If the user desires to visually inspect the code then the user maydisplay code generation interface 121. FIG. 3 is a view of a codegeneration or markup/script code interface. For the form definitiondisplayed in FIG. 2, the corresponding markup is shown in FIG. 3 in themain markup window. In this example, the two labels and two text fieldsshown in FIG. 2 are shown implemented in code, namely the labels areshown as sub-elements of a SPAN directive and the text fields areimplemented as HTML inputs of type TEXT.

The code displayed in FIG. 3 will auto-fill the first and last name ifthe entry exists in the database using the PHP code below. This exampleis intended to show an embodiment that auto-fills a first and last namein a form and as such is not limited to the PHP implementation orfunctionality of this example as one skilled in the art will recognize.

TABLE 1 code displayed FIG. 3. <? $username=“DBuser”; $password=“DBpwd”;$dbhost=“1.2.3.4”; $database=“DBforms”;mysql_connect($dbhost,$username,$password); @mysql_select_db($database)or die( “Error: Cannot select database”); $query=“SELECT * FROMDBtable1”; $resultset=mysql_query($query);$numrows=mysql_numrows($resultset); mysql_close( );$first=mysql_result($resultset,0,“first”);$last=mysql_result($resultset,0,“last”); echo “<form name=“form1”method=“post” action=“”>”; echo “ <p><span class=“style2”>FirstName:</span> <input type=“text” name=“textfield1”“ + $first + ”>”; echo“ <span class=“style2”>Last Name:</span> <input type=“text”name=“textfield2”“ + $last + ”>”; ?>

In this exemplary PHP code set, a database named “DBforms” at URL$dbhost is connected to through the mysql_connect call. A query isperformed and the first resultset “$first” name (if one exists) isplaced, for example, in the text field corresponding to the “First Name”label as a default value. Similarly, the first “$last” name returned inthe query is placed, for example, in the text field corresponding to the“Last Name” label as a default value. The “echo” functions result in thegeneration of the text that follows to be output. In this example, HTML“<form . . . ” markup is generated. In addition, a link to a cascadingstyle sheet (CSS) may be included in this code set to link with anexternal style sheet generated by an embodiment of the invention. Forexample, the link “<link href=“styles1.css” rel=“stylesheet”type=“text/css”>” may be included in a PHP echo statement that allowsfor an external CSS file to control the layout and presentation of theform. In this case, “styles1.css” is created by an embodiment of theinvention for this purpose. As one skilled in the art will recognize,any formatting or positioning directives may be included in thestylesheet.

Javascript validation may be selected in the form interface of FIG. 2 byright clicking on a form element that accepts input and selecting anappropriate validation. Validation code generation may be manuallyentered or edited by a user by adding or altering script directly in themain window of code generation interface 121. For example a validationmay be entered by right-clicking on a form element such as the textfield next to label element “First Name:” and selecting a validationtype from a list, for example, or for selecting an existing name from atable in a database by selecting a database name validation selectionand selecting the table name and field in which to limit the input. Anyother validation such as numeric validation or validation of valuesbetween multiple fields is in keeping with the spirit of the invention.For example, validation may include multiple form elements, e.g., thevalue allowed in one form element may depend on the value in anotherform element. In addition, the hiding or display of particular formelements is also achieved in a similar manner through script. In thisway, selection of a particular value in a list, for example, may changethe form elements that are displayed in association with the selectedlist value. By utilizing script to perform validation, round-trips tothe server may be avoided in many cases, thereby speeding execution ofthe application. Using schema generation interface 122 allows for a userto change, for example, the relationships between tables, change keys orperform any other database-related function.

FIG. 4 is a view of schema interface 122. In one or more embodiments ofthe invention, DDL is generated that couples with a freeware databasesuch as MySQL. By supporting freeware databases, the system lowers thecost for creation of web pages that implement form based databaseinterfaces. For advanced users, the generated DDL or DML may be modifiedto provide custom functionality or optimization. This allows for expertusers to fully optimize their implementations. In this embodiment ofschema interface 122, an expert user may alter the schema that has beenpreviously selected through use of a predefined schema list associatedwith commonly used forms via a menu in form interface 120 or in anyother manner of interfacing with form interface 120. Alternatively, thesystem may also present a base schema by scanning interface elementnames and determining for example that a “First Name” and a “Last Name”combined with a “Product ID” label on a form has a high probability of astore front schema, and as such the system may auto-select a schemaassociated with a store front web application. Alternatively, the usermay manually enter or edit a schema if the user is skilled in creatingdatabase schemas. Any database connection code may also be inserted bythe user or system during the code generation process.

Embodiments of the invention also allow for the import of existing formsso that the code generation module of the system can create backenddatabase structures to support the form without requiring a timeconsuming and expensive programming effort. By importing an existingHTML/PDF or any other form including markup-related forms such asXML-based forms, via form interface 120, code generation module 151 andschema generation module 152 may be invoked by the system in order togenerate markup and SQL commands to implement the form. The system doesnot limit the location of a database or type of the database in any way.The system merely needs to access the database at the given URI toobtain a connection and interface with the database to create, read,update and delete data associated with a particular form. The form maybe saved and returned to later for completion using one or moreembodiments of the invention. The system may delete forms that areabandoned and may send reminders to users that given forms needed to becompleted. The system may store, for example, the forms on any computerassociated with the system including personal computer or server 101.

FIG. 5 is a view of administration interface 124. The system supportsgeneration of an administration interface that allows, for example, formulti-field searches and maintenance of the database through a web basedinterface. By presenting commonly searched fields and accepting userinput as to which fields to utilize for administratively accessing thedatabase, a codeless administrative generation process is achieved. Thisallows for personnel that are not programmers or database administratorsto create administrative interfaces that are normally beyond their skillset. The administration system also enables report generation and mayinterface to any other system configured to generate reports based on adatabase. Input of password fields or any other authorization orauthentication mechanism that may be utilized in the resultingadministration interface is in keeping with the spirit of the invention.Administrators may also view a master list of forms that have beencreated by the system. In addition, the domains that the forms areassociated may be viewed as well. The administrator module allows forthe deletion of forms as well. An administrator may also send out emailsto a results list based on a search. Utilizing the system to send out atargeted email to a list of users provides the capability to targetemail at specific users that are represented in the database. Inaddition, the Administrators may utilize bad-word filter, for example, ageneral regular expression based filter, to limit words that are notallowed on a given website.

FIG. 6 is a view of form preview interface 600. Form preview interface600 allows for a user to test the form. For example, with validationsassociated with input elements, a user may exercise the form to testwhether the validations work as intended. Any markup display componentmay be utilized to display form preview interface 600 including anydisplay component that may also display XML, WML, HTML or any other typeof markup language.

FIG. 7 is a view of publish interface 123. After generating a form andassociated schema, the system publishes the form to the web and can, forexample, install an administration module on a website. In addition, theSQL file representing the schema is uploaded to the server and executedto create the database. The user simply selects a server to publish tousing the left side of publish interface 123, selects the particulardirectory to publish to using the right side of publish interface 123and selects the database information at the bottom of publish interface123 and clicks on the “publish” icon in the middle of the top of thewindow. In one or more embodiments of the invention, multiple interfacecomponents that implement each of the main browsers in use may beutilized. For example, an Internet Explorer® or Firefox browser orbrowser component or any cell phone compatible browser, for example, maybe utilized to determine if each browser component displays the formproperly. Embodiments of the invention may upload any other file createdin concert with the SQL file, for example, a CSS file.

In one or more embodiments, a wizard based generation method is utilizedfor viewing or editing a form, form markup/script code, schema,administration form and for publishing the form to a website. Use of awizard based method may be bypassed by more advanced users in one ormore embodiments.

FIG. 8 is a flow chart of an embodiment of a method for creatingintegrated web form and database applications. Processing starts at 800.A form presentation interface is presented at 801. Any method ofpresenting the interface is in keeping with the spirit of the inventionincluding displaying a web based form interface in a browser window or,for example, a standalone application window on a personal computer. Auser drags and drops form elements to create a form and adjust the formto meet the visual needs of the user and at this time the user may alsoinput validation commands to control the data that is allowed in theform elements. The system accepts a form definition at 802 whichincludes all form elements and any validation script that has beenentered or selected by the user. The form definition is scanned by thesystem and the system presents a code generation interface at 803.Again, any type of web based or standalone application based interfacemay be utilized in the code generation interface or any other interfacedescribed herein. The system creates the markup to implement the formdefinition at 804 which is thus displayed in the code generationinterface. In addition, any supporting presentation files may begenerated at this time, for example, a CSS file. The user may choose toenter more markup or validation script using the code generationinterface if desired, however doing so requires a skill set that manyweb designers may or may not possess. Hence, modification of generatedmarkup is left to the individual user depending on their skill set anddesire for customization. The system presents the schema generationinterface at 805. If the user desires to use a preexisting schema for acommon type of form at 806, then the user selects a schema suggested bythe system based on the form input elements included on the forminterface. The system may scan the form elements and determine that theuser has a high probability of implementing a guest book, for example,in which case a schema or list of guest book schemas is presented to theuser for selection. The system accepts a selection at 807 which allowsfor the generation of a SQL file. If the user has decided to allow thesystem to generate the schema based on the form definition associatedwith the form elements that the user has input into the system, then thesystem generates a SQL file to implement the form definition at 808.Optionally, the system may present code generation interface at anypoint in the process and the user may, for example, edit the generatedschema and/or SQL file, if the user is knowledgeable in this area. Thesystem presents a publish interface at 809. The publish interface allowsfor the selection of the server and directory on the server and databaseto which to publish the form and schema. When the user has input thesettings to associate the form with the correct server, directory anddatabase and asserts a publish command, then the system publishes markupand SQL to the server at 810. The SQL file is executed on the databaseat 811 if, for example, there is any change to the schema or if the SQLfile has not been executed on the database before. For cases whereexisting data is in the database and the schema has changed betweeniterations, intelligent DDL commands are utilized in merging data fromone schema to another. Any method of merging one schema into another isin keeping with the spirit of the invention. Processing ends at 812.

While the invention herein disclosed has been described by means ofspecific embodiments and applications thereof, numerous modificationsand variations could be made thereto by those skilled in the art withoutdeparting from the scope of the invention set forth in the claims.

What is claimed is:
 1. A system for creating integrated web form anddatabase applications comprising: a form module configured to present aform interface with a visual WYSIWYG representation and a drag-and-movefunctionality to a user to create a form definition for at least one webform, wherein said form definition comprises a plurality of formelements; a code generation module configured to generate PHP code forsaid at least one web form to present with a code generation interface;and a publish module configured to publish said PHP code and saiddatabase schema to make said at least one web form available, whereinsaid web form has a visual appearance based on said visual WYSIWYGrepresentation, wherein said publish module is further configured tosend said database schema to a database server configured to implementsaid form definition using said schema, wherein said form module isconfigured to automatically generate a database schema for said at leastone web form based on said plurality of form elements and to createbackend database structures to support said at least one web form andgenerate an SQL file to implement said form definition and said schema,and wherein said database schema is automatically modified and new SQLstatements generated based on changes to said web form through said forminterface, wherein said code generation module is further configured togenerate database commands based on at least one of said plurality ofform elements, wherein said database commands are configured tocommunicate data between said at least one web forms and said databaseserver based on said form definition and said schema.
 2. The system ofclaim 1, wherein said schema comprises DDL.
 3. The system of claim 1,wherein said database commands comprise DML.
 4. The system of claim 1,wherein said PHP code is embedded in HTML.
 5. The system of claim 1,wherein said PHP code is embedded in WML.
 6. The system of claim 1,wherein said PHP code is embedded in XML.
 7. The system of claim 1,wherein said code generation module further generates CSS code.
 8. Thesystem of claim 1, wherein said code generation module is furtherconfigured to generate script comprising validation code configured tovalidate said form definition by limiting values that are allowed inparticular form elements.
 9. A method for creating integrated web formand database applications comprising: accepting a form definition basedon a plurality of form elements from a form interface, wherein said forminterface is configured to provide a user interface with a visualWYSIWYG representation and a drag-and-move functionality to create atleast one web form comprising said plurality of form elements;presenting a code generation interface configured to generate PHP codeand database commands based on said form definition, wherein said codegeneration interface allows said user to review and manually edit saidPHP code, wherein said PHP code associates with a visual appearancebased on said visual WYSIWYG representation; creating said PHP code toimplement said form definition; generating a database schema for said atleast one web form based on said plurality of form elements; generatinga SQL file to implement said form definition and said schema based onsaid PHP code, wherein said database schema is automatically modifiedand new SQL statements generated based on changes to said web formthrough said form interface; creating backend database structures tosupport said at least one web form; publishing said PHP code and saidSQL file to a server associated with said database; and executing saidSQL file on said server associated with said database.
 10. The method ofclaim 9, wherein said generating said SQL file comprises utilization ofpreexisting schemas associated with commonly used forms.
 11. The methodof claim 9, wherein said presenting said schema interface comprisespresenting a list of schemas associated with commonly used forms to auser.
 12. The method of claim 9, further comprising: accepting aselection of a schema from a list of schemas associated with commonlyused forms.
 13. The method of claim 9, wherein said generating said SQLfile comprises generating a schema comprising each user interfaceelement in said form definition.
 14. A non-transitory computer-readablemedium comprising computer-readable instructions for providingintegrated web form and database applications, wherein execution of saidcomputer-readable instructions by one or more processors causes said oneor more processors to: accept a form definition based on a plurality ofform elements from a form interface, wherein said form interface isconfigured to provide a user interface with a visual WYSIWYGrepresentation and a drag-and-move functionality to create at least oneweb form comprising said plurality of form elements; present a codegeneration interface configured to generate PHP code and databasecommands based on said form definition, wherein said code generationinterface allows said user to review and manually edit said PHP code,wherein said PHP code associates with a visual appearance based on saidvisual WYSIWYG representation; create said PHP code to implement saidform definition; generate a database schema for said at least one webform based on said plurality of form elements; generate a SQL file toimplement said form definition and said schema based on said PHP code,wherein said database schema is automatically modified and new SQLstatements generated based on changes to said web form through said forminterface; create backend database structures to support said at leastone web form; publish said PHP code and said SQL file to a serverassociated with said database; and execute said SQL file on said serverassociated with said database.
 15. The non-transitory computer-readablemedium of claim 14, wherein said form input interface comprises aclick-and-drag interface for form creation.